(1) Field of the Invention
The present invention pertains to multi-central processing unit controlled real time systems and more particularly to an arbitration scheme for resolving conflicting requests from the central processing units for access to a commonly shared resource.
(2) Description of the Prior Art
Computer control has been applied to a vast number of real time process control systems. For example, central processing units (CPUs) control the real time switching operation in modern telephone central offices. Historically, large CPUs have been developed to provide the control function for large telephone central offices.
Due to the public policy of requiring telephone switching centers to operate 24 hours a day continuously without disruption of service, highly reliable switching systems are desirable. This requirement provides added complexity when dealing with CPU common controlled switching systems.
In more recent times, large central processing units have given way to distributed processing schemes. In such schemes, numbers of smaller central processing units cooperate to perform the control functions, thereby increasing the overall flexibility of such a system and providing for modular expansion. In the telephone central office example, many smaller central processor units working together can handle telephone traffic more efficiently and economically than a single large central processing unit. Microprocessor CPUs are specially suited to such an operation.
In distributed processing systems where there are a number of central processing units, these CPUs may typically exchange information in order to perform one overall task. One solution to the information exchange problem is to have two CPUs talk directly to one another. In such a configuration, each CPU must stop any other tasks which it may be performing establish a direct link via a defined protocol scheme and then transmit the required information.
In another solution, the CPUs may asynchronously place information in a predefined resource, so that the CPU which is to receive the information may remove it at its own particular available time. In sharing a common resource, a problem of allocation of the resource to a particular CPU arises. That is, a number of CPUs may request to deposit or retrieve information simultaneously. Therefore, conflicts arise and these conflicts of access must be resolved. Previous access schemes involved scanning signals for request or allocating certain time slots in which each processor may access the resource. Such systems are time consuming and inefficient and further they allow monopolization of the resource by a particular CPU of the group.
Accordingly, it is an object of the present invention to provide an arbitration controller for providing equal priority sharing of a common resource by a duplex plurality of CPUs.
It is a further important objective of the present invention to provide such a controller which prohibits monopolization of the common resource by a particular CPU.
It is another important objective of the present invention to provide for the arbitration of simultaneous access by CPUs at a very rapid rate in order to allow an efficient information exchange.
It is another important objective of the present invention to provide for an approximately statistically equal probability of each CPU for obtaining access to the resource.
It is still another important objective of the present invention to provide for a highly reliable configuration for CPU arbitration in order to prevent switching system disruption due to equipment failure.
It is yet another important objective of the present invention to provide an arbitration controller which may grow in the number of CPUs, which are subject to control, in an efficient and economical manner.